Програмування задач лінійної структури. Обчислення виразів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2013
Тип роботи:
Задача
Предмет:
Засоби системного програмування

Частина тексту файла

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ Звіт лабораторної роботи №3 «Програмування задач лінійної структури. Обчислення виразів» з дисципліни: «Засоби системного програмування» Львів-2013 Мета: вивчити способи задання констант та змінних в Асемблері та набути навиків використання арифметичних команд над даними різного розміру. ЗАВДАННЯ Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу і зберігає результат в пам’яті. Вхідні операнди А, В, С, D, E, F вважати беззнаковими і довжиною в байтах, згідно з індексу; К – константа, довжина якої визначається значенням(згідно варіанту). Для її опису слід використати директиву EQU. За допомогою Debug, відслідкувати правильність виконання програми (продемонструвати результати проміжних та кінцевих обчислень). Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. Дати відповідь на контрольні запитання. ВАРІАНТ ЗАВДАННЯ: А, В, С, D, E, F - беззнакові операнди, довжиною в байтах, згідно з індексу, значення К подано у 16-му форматі. 19 X=(A4-B3-K)*D1+E4/F2 311  Алгоритм виконання: 1.1 Послідовність операцій 1. A4-B3 2. (1)-K 3. (2)*D1 4. E4/F2 5. (3) + (4) 1.2 Послідовність виконання 1. Виконати віднімання 3 байти від 4-х, результат – 4 байти 2. Віднімання 2 байти від 4-х, результат – 4 байти 3. Множення 4 байти на 1 байт, результат – 4 байти 4. Ділення 4 байти на 2 байти, результат – 2 байти 5. Додавання 4 байт + 2 байта, результат – 4 байта 6. Запис результату – 4 байти. Текст програми: .MODEL SMALL .STACK 100h .DATA K EQU 311d A dd 99558888h B dd 00ff9999h D db 11h E dd 11223344h F dw 1234h Temp1 dd 0h Temp2 dd 0h Temp3_l dd 0h Temp3_h dd 0h Temp4 dd 0h X_l dd 0h X_h dd 0h .CODE mov ax,@data mov ds,ax mov ax, word ptr [A] mov bx, word ptr[B] sub ax,bx mov word ptr [Temp1],ax mov ax, word ptr [A+2] mov bx, word ptr [B+2] sbb ax,bx mov word ptr [Temp1+2],ax mov ax, word ptr [Temp1] mov bx,K sub ax,bx mov word ptr [Temp2],ax mov ax, word ptr [Temp1+2] mov word ptr [Temp2+2],ax mov bl,D mov bh,00 mov ax, word ptr [Temp2] mul bx mov word ptr [Temp3_l],ax mov word ptr [Temp3_l+2],dx mov ax, word ptr [Temp2+2] mul bx add ax,word ptr [Temp3_l+2] mov word ptr [Temp3_l+2],ax adc dx,0 mov word ptr [Temp3_h],dx mov ax, word ptr [E] mov dx, word ptr [E+2] div F mov Temp4,ax mov ax,word ptr [Temp3_l] add ax,Temp4 mov X_l,ax mov ax,word ptr[Temp3_l+2] adc ax,word ptr[Temp4+2] mov X_l+2,ax mov ax,word ptr [Temp3_h] mov X_h,ax mov ah,4Ch int 21h end Результати виконання програми: Висновки: виконавши дану лабораторну роботу, я вивчив способи задання констант та змінних в Асемблері та набув навиків використання арифметичних команд над даними різного розміру.
Антиботан аватар за замовчуванням

11.04.2014 14:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини